GraphLinksModel
A implementação genérica de um modelo de diagramas consistindo em nós e subgrafos, com qualquer número de dados de ligação explícita representando ligações entre quaisquer dois nós.
Herda de: DiagramModel
Implementa: ILinksModel, IDiagramModel, ISubGraphLinksModel, ISubGraphModel, IGroupsModel
Construtores
public GraphLinksModel()
graphLinksModel = GraphLinksModel()
O construtor padrão produz um modelo vazio.
Propriedades
public string GroupNodePath { get; set; }
value = graphLinksModel.GroupNodePath
graphLinksModel.GroupNodePath = value
Obtém ou define um caminho de propriedade que especifica como obter a chave para "contentor" ou dados de nó de grupo de um objeto de dados de nó.
public string LinkCategoryPath { get; set; }
value = graphLinksModel.LinkCategoryPath
graphLinksModel.LinkCategoryPath = value
Obtém ou define um caminho de propriedade que especifica como encontrar a categoria de um dado de link.
public string LinkFromParameterPath { get; set; }
value = graphLinksModel.LinkFromParameterPath
graphLinksModel.LinkFromParameterPath = value
Obtém ou define um caminho de propriedade que especifica como obter informações opcionais de parâmetros "port" para os dados de nó "de" de um objeto de dados de link.
public string LinkFromPath { get; set; }
value = graphLinksModel.LinkFromPath
graphLinksModel.LinkFromPath = value
Obtém ou define um caminho de propriedade que especifica como obter a chave para os dados de nó "de" de um objeto de dados de link.
public string LinkLabelNodePath { get; set; }
value = graphLinksModel.LinkLabelNodePath
graphLinksModel.LinkLabelNodePath = value
Obtém ou define um caminho de propriedade que especifica como obter a chave para os dados de nó "label" de um objeto de dados de link.
public IEnumerable LinksSource { get; set; }
value = graphLinksModel.LinksSource
graphLinksModel.LinksSource = value
Obtém ou define a coleção de itens de dados de link para o modelo.
public string LinkToParameterPath { get; set; }
value = graphLinksModel.LinkToParameterPath
graphLinksModel.LinkToParameterPath = value
Obtém ou define um caminho de propriedade que especifica como obter informações opcionais de parâmetros "port" para os dados de nó "para" de um objeto de dados de link.
public string LinkToPath { get; set; }
value = graphLinksModel.LinkToPath
graphLinksModel.LinkToPath = value
Obtém ou define um caminho de propriedade que especifica como obter a chave para os dados de nó "para" de um objeto de dados de link.
public string MemberNodesPath { get; set; }
value = graphLinksModel.MemberNodesPath
graphLinksModel.MemberNodesPath = value
Obtém ou define um caminho de propriedade que especifica como obter uma lista de chaves para os nós "membros" de um objeto de dados de nó de grupo.
public string NodeCategoryPath { get; set; }
value = graphLinksModel.NodeCategoryPath
graphLinksModel.NodeCategoryPath = value
Obtém ou define um caminho de propriedade que especifica como encontrar a categoria de um dado de nó.
public string NodeIsGroupPath { get; set; }
value = graphLinksModel.NodeIsGroupPath
graphLinksModel.NodeIsGroupPath = value
Obtém ou define um caminho de propriedade que especifica como descobrir se um dado de nó também é um grupo de "contentor".
public string NodeIsLinkLabelPath { get; set; }
value = graphLinksModel.NodeIsLinkLabelPath
graphLinksModel.NodeIsLinkLabelPath = value
Obtém ou define um caminho de propriedade que especifica como descobrir se um dado de nó também é um "label" para um dado de link.
public bool NodeKeyIsNodeData { get; set; }
value = graphLinksModel.NodeKeyIsNodeData
graphLinksModel.NodeKeyIsNodeData = value
Obtém ou define se todos os dados de nó também são suas próprias chaves.
public string NodeKeyPath { get; set; }
value = graphLinksModel.NodeKeyPath
graphLinksModel.NodeKeyPath = value
Obtém ou define um caminho de propriedade que especifica como obter a chave para os dados do nó.
public bool NodeKeyReferenceAutoInserts { get; set; }
value = graphLinksModel.NodeKeyReferenceAutoInserts
graphLinksModel.NodeKeyReferenceAutoInserts = value
Obtém ou define se uma referência, quando NodeKeyIsNodeData é verdadeira, insere automaticamente o nó em NodesSource.
public IEnumerable NodesSource { get; set; }
value = graphLinksModel.NodesSource
graphLinksModel.NodesSource = value
Obtém ou define a coleta de itens de dados de nó para o modelo.
public ValidCycle ValidCycle { get; set; }
value = graphLinksModel.ValidCycle
graphLinksModel.ValidCycle = value
Especifique que tipos de gráficos este modelo permite.
public ValidUnconnectedLinks ValidUnconnectedLinks { get; set; }
value = graphLinksModel.ValidUnconnectedLinks
graphLinksModel.ValidUnconnectedLinks = value
Obtém ou define se cada dado de link deve ter ambas as extremidades referem-se a dados de nó.
Métodos
AddCollectionCopy(GraphLinksModel{, GraphLinksModel{) : CopyDictionary<T, T, T, T>
Copie os dados existentes do nó e ligue e adicione a este modelo.
- coll
- a recolha de dados a copiar
- env
- o ICopyDictionary usado para manter o controle de objetos copiados; se nulo, o método chamará CreateCopyDictionary, usá-lo e devolvê-lo
Retorna: o dicionário de cópia atualizado, mapeando dados originais para copiar dados
public LinkType AddLink(NodeType fromdata, PortKey fromparam, NodeType todata, PortKey toparam)
result = graphLinksModel.AddLink(fromdata, fromparam, todata, toparam)
Adicionar um dado de link para LinksSource.
- fromdata
- uma tecla de nó que identifica os dados do nó de onde vem o link
- fromparam
- um valor opcional que identifica em qual porta no nó "de" o link está conectado
- todata
- uma chave de nó identifica os dados do nó para os quais o link vai
- toparam
- um valor opcional que identifica em qual porta no nó "para" o link está conectado
public void AddLink(LinkType linkdata)
graphLinksModel.AddLink(linkdata)
Adicionar um dado de link para LinksSource.
- linkdata
public LinkType AddLinkCopy(LinkType linkdata)
result = graphLinksModel.AddLinkCopy(linkdata)
Adicione uma cópia de um link de dados a este modelo.
- linkdata
Retorna: os dados copiados da ligação
public void AddMemberNodeKey(NodeType nodedata, NodeKey memberkey)
graphLinksModel.AddMemberNodeKey(nodedata, memberkey)
Adicione um valor chave de dados de nó "membro" à lista de dados de nó de "membros".
- nodedata
- os dados do nó a modificar
- memberkey
- o valor chave dos novos dados do nó "membro"
public void AddNode(NodeType nodedata)
graphLinksModel.AddNode(nodedata)
Adicionar um dado de nó a NodesSource.
- nodedata
public NodeType AddNodeCopy(NodeType nodedata)
result = graphLinksModel.AddNodeCopy(nodedata)
Adicionar uma cópia de um dado de nó a este modelo.
- nodedata
Retorna: os dados do nó copiado
AugmentCopyCollection(GraphLinksModel{)
Sobrescrever este método para adicionar mais (relacionados) dados a serem copiados.
- coll
- a recolha de dados a copiar
AugmentCopyDictionary(GraphLinksModel{)
Sobrescrever este método para evitar copiar alguns dados, ou para alterar como as referências copiadas são resolvidas.
- env
- o dicionário mapeando objetos originais para objetos copiados
protected override void ChangeDataValue(ModelChangedEventArgs e, bool undo)
graphLinksModel.ChangeDataValue(e, undo)
Isto é chamado durante a desfazer ou refazer para efetuar alterações de estado para dados do modelo.
- e
- uma edição que descreve a alteração a ser executada
- undo
- verdadeiro se desfazer; falso se refazer
protected override void ChangeModelValue(ModelChangedEventArgs e, bool undo)
graphLinksModel.ChangeModelValue(e, undo)
Isto é chamado durante a desfaz ou refazer para efetuar alterações de estado para este modelo.
- e
- uma edição que descreve a alteração a ser executada
- undo
- verdadeiro se desfazer; falso se refazer
protected virtual bool CheckLinkValid(NodeType fromdata, PortKey fromparam, NodeType todata, PortKey toparam, bool ignoreexistinglink, LinkType oldlinkdata)
result = graphLinksModel.CheckLinkValid(fromdata, fromparam, todata, toparam, ignoreexistinglink, oldlinkdata)
Este predicado é verdadeiro se adicionar um link entre dois nós/portos resultaria em um gráfico estruturado validamente.
- fromdata
- uma tecla de nó que identifica os dados do nó de onde vem o link
- fromparam
- um valor opcional que identifica em qual porta no nó "de" o link está conectado
- todata
- uma chave de nó identifica os dados do nó para os quais o link vai
- toparam
- um valor opcional que identifica em qual porta no nó "para" o link está conectado
- ignoreexistinglink
- true se relinking; false se adicionar um novo link
- oldlinkdata
- os dados originais da ligação que possam ser modificados, se for verdadeiro
Retorna: O comportamento deste predicado depende do valor de ValidCycle e ValidUnconnectedLinks.
protected virtual bool CheckMemberValid(NodeType groupnodedata, NodeType membernodedata, bool ignoreexistingmembership)
result = graphLinksModel.CheckMemberValid(groupnodedata, membernodedata, ignoreexistingmembership)
Este predicado é verdadeiro se adicionar um nó a um nó de grupo resultaria em um grafo inválido.
- groupnodedata
- os dados do nó que são um grupo
- membernodedata
- dados de nó a considerar para adicionar ao grupo
- ignoreexistingmembership
- se ignorar a associação existente do grupo, porque esse membro está a ser transferido para fora do seu grupo existente
Retorna: Isto retorna false para a associação que iria quebrar a estrutura da árvore do gráfico de grupos do modelo.
public void ClearUnresolvedReferences()
graphLinksModel.ClearUnresolvedReferences()
Esqueça todas as referências não resolvidas atrasadas ou para a frente.
CopyLink1(T, GraphLinksModel{) : T
Esta é a primeira passagem de copiar dados de link, responsável por construir uma cópia e copiar a maioria de suas propriedades.
- linkdata
- env
- o dicionário mapeando objetos originais para objetos copiados
Retorna: os dados copiados da ligação
CopyLink2(T, GraphLinksModel{, T, T, T, T)
Esta é a segunda passagem de copiar dados de link, responsável pela fixação de referências a outros objetos.
- oldlinkdata
- os dados originais da ligação
- env
- o dicionário mapeando objetos originais para objetos copiados
- newlinkdata
- os dados copiados da ligação
- newfromnodedata
- por conveniência, o nó "de" copiado
- newtonodedata
- por conveniência, o nó "para" copiado
- newlinklabel
- por conveniência, o nó "label" copiado
CopyNode1(T, GraphLinksModel{) : T
Esta é a primeira passagem de dados de nós de cópia, responsável por construir uma cópia e copiar a maioria de suas propriedades.
- nodedata
- env
- o dicionário mapeando objetos originais para objetos copiados
Retorna: os dados do nó copiado
CopyNode2(T, GraphLinksModel{, T, T, IEnumerable<T>)
Esta é a segunda passagem de dados de nós de cópia, responsável pela fixação de referências a outros objetos.
- oldnodedata
- os dados originais do nó
- env
- o dicionário mapeando objetos originais para objetos copiados
- newnodedata
- os dados do nó copiado
- newgroup
- por conveniência, os dados do nó "pai" copiados
- newmembers
- por conveniência, uma lista de nós de membros recém-copiados
public virtual CopyDictionary<NodeType, NodeKey, PortKey, LinkType> CreateCopyDictionary()
result = graphLinksModel.CreateCopyDictionary()
Criar um ICopyDictionary inicializado para este modelo.
Retorna: Normalmente, este será um dicionário vazio.
public virtual DataCollection<NodeType, NodeKey, PortKey, LinkType> CreateDataCollection()
result = graphLinksModel.CreateDataCollection()
Criar um IDataCollection vazio para este modelo.
CreateInitializedCopy(GraphLinksModel{) : GraphLinksModel<T, T, T, T>
Faça uma cópia deste modelo, sem compartilhar as coleções NodesSource ou LinksSource.
- init
- Este é um DataCollection que fornece os dados iniciais do nó e do link. (Esses dados não são copiados.) Se isso for nulo, os valores iniciais de NodesSource e LinksSource@ são coleções vazias.
Retorna: um modelo como este, mas com dados diferentes
protected virtual void DeleteLink(NodeType fromdata, PortKey fromparam, NodeType todata, PortKey toparam)
graphLinksModel.DeleteLink(fromdata, fromparam, todata, toparam)
Este método implementa a remoção de um link de dados da coleção LinksSource.
- fromdata
- uma tecla de nó que identifica os dados do nó de onde vem o link
- fromparam
- um valor opcional que identifica em qual porta no nó "de" o link está conectado
- todata
- uma chave de nó identifica os dados do nó para os quais o link vai
- toparam
- um valor opcional que identifica em qual porta no nó "para" o link está conectado
protected virtual void DeleteLink(LinkType linkdata)
graphLinksModel.DeleteLink(linkdata)
Este método implementa a remoção de um link de dados da coleção LinksSource.
- linkdata
protected virtual void DeleteMemberNodeKey(NodeType nodedata, NodeKey memberkey)
graphLinksModel.DeleteMemberNodeKey(nodedata, memberkey)
Este método implementa realmente a modificação de um nó de dados para que seja coleta de crianças de dados de nó não inclua um dado .
- nodedata
- os dados do nó a serem modificados; se null, este método não faz nada
- memberkey
- o valor chave dos dados do nó "membro"; se nulo, este método não faz nada
protected virtual void DeleteNode(NodeType nodedata)
graphLinksModel.DeleteNode(nodedata)
Este método implementa a remoção de um nó da coleção NodesSource.
- nodedata
public void DoGroupNodeChanged(NodeType nodedata)
graphLinksModel.DoGroupNodeChanged(nodedata)
Isso deve ser chamado quando a associação de dados de um nó em um grupo pode ter mudado.
- nodedata
- os dados do nó modificado
public void DoLinkAdded(LinkType linkdata)
graphLinksModel.DoLinkAdded(linkdata)
Isto deve ser chamado quando um objeto de dados de link é adicionado à coleção LinksSource.
- linkdata
public void DoLinkCategoryChanged(LinkType linkdata)
graphLinksModel.DoLinkCategoryChanged(linkdata)
Isto deve ser chamado quando o valor de categoria de um link de dados pode ter mudado.
- linkdata
public void DoLinkLabelChanged(LinkType linkdata)
graphLinksModel.DoLinkLabelChanged(linkdata)
Isto deve ser chamado quando um nó de etiqueta de dados de link pode ter mudado.
- linkdata
public void DoLinkPortsChanged(LinkType linkdata)
graphLinksModel.DoLinkPortsChanged(linkdata)
Isso deve ser chamado quando um nó ou porta conectados de dados de um link, seja "de" ou "para", pode ter mudado.
- linkdata
public void DoLinkRemoved(LinkType linkdata)
graphLinksModel.DoLinkRemoved(linkdata)
Isto deve ser chamado quando um objeto de dados de link é removido da coleção LinksSource.
- linkdata
public void DoMemberNodeKeyAdded(NodeType nodedata, NodeKey memberkey)
graphLinksModel.DoMemberNodeKeyAdded(nodedata, memberkey)
Isto deve ser chamado quando uma chave de dados de nó "membro" foi adicionada à coleção de teclas de nó " membro".
- nodedata
- os dados do nó modificado
- memberkey
- a chave para os dados do nó "membro" adicionados
public void DoMemberNodeKeyRemoved(NodeType nodedata, NodeKey memberkey)
graphLinksModel.DoMemberNodeKeyRemoved(nodedata, memberkey)
Isto deve ser chamado quando uma chave de dados de nó "membro" foi removida da coleção de teclas de nó " membro".
- nodedata
- os dados do nó modificado
- memberkey
- a chave para os dados do nó "membro" removidos
public void DoMemberNodeKeysChanged(NodeType nodedata)
graphLinksModel.DoMemberNodeKeysChanged(nodedata)
Isto deve ser chamado quando a lista de dados de um nó de nós "membro" foi substituída.
- nodedata
public void DoNodeAdded(NodeType nodedata)
graphLinksModel.DoNodeAdded(nodedata)
Isto deve ser chamado quando um objeto de dados de nó é adicionado à coleção NodesSource.
- nodedata
public void DoNodeCategoryChanged(NodeType nodedata)
graphLinksModel.DoNodeCategoryChanged(nodedata)
Isto deve ser chamado quando o valor de categoria de um nó de dados pode ter mudado.
- nodedata
public void DoNodeKeyChanged(NodeType nodedata)
graphLinksModel.DoNodeKeyChanged(nodedata)
Isto deve ser chamado quando o valor da chave de um nó de dados pode ter mudado.
- nodedata
public void DoNodeRemoved(NodeType nodedata)
graphLinksModel.DoNodeRemoved(nodedata)
Isto deve ser chamado quando um objeto de dados de nó é removido da coleção NodesSource.
- nodedata
protected virtual string FindCategoryForLink(LinkType linkdata)
result = graphLinksModel.FindCategoryForLink(linkdata)
Encontre a categoria de um link de dados.
- linkdata
Retorna: por padrão uma string vazia
protected virtual string FindCategoryForNode(NodeType nodedata)
result = graphLinksModel.FindCategoryForNode(nodedata)
Encontre a categoria de um nó de dados.
- nodedata
Retorna: por padrão uma string vazia
protected virtual NodeKey FindFromNodeKeyForLink(LinkType linkdata)
result = graphLinksModel.FindFromNodeKeyForLink(linkdata)
Encontre a chave de nó "de" para um dado link.
- linkdata
Retorna: a para o nó conectado
protected virtual PortKey FindFromParameterForLink(LinkType linkdata)
result = graphLinksModel.FindFromParameterForLink(linkdata)
Encontre informações adicionais sobre a conexão de nó "de" para um dado link.
- linkdata
Retorna: a
protected virtual NodeKey FindGroupKeyForNode(NodeType nodedata)
result = graphLinksModel.FindGroupKeyForNode(nodedata)
Procurar a chave do nó de grupo para um dado dado nó, se existir.
- nodedata
Retorna: a para o nó contendo grupo, ou o valor padrão para esse tipo, se não houver um nó de recipiente para o nó
protected virtual bool FindIsGroupForNode(NodeType nodedata)
result = graphLinksModel.FindIsGroupForNode(nodedata)
Descubra se os dados de um nó são um grupo ou recipiente de outros nós.
- nodedata
protected virtual bool FindIsLinkLabelForNode(NodeType nodedata)
result = graphLinksModel.FindIsLinkLabelForNode(nodedata)
Descubra se um dado de nó é um "label" para um dado de link.
- nodedata
protected virtual NodeKey FindKeyForNode(NodeType nodedata)
result = graphLinksModel.FindKeyForNode(nodedata)
Encontre a chave para os dados do nó.
- nodedata
Retorna: a chave única (esperançosamente) para os dados do nó neste modelo
protected virtual NodeKey FindLabelNodeKeyForLink(LinkType linkdata)
result = graphLinksModel.FindLabelNodeKeyForLink(linkdata)
Encontre a chave de nó "label" para um dado link de dados, se houver.
- linkdata
Retorna: a para os dados do nó de etiqueta
protected virtual IEnumerable FindMemberNodeKeysForNode(NodeType nodedata)
result = graphLinksModel.FindMemberNodeKeysForNode(nodedata)
Encontre a lista de chaves dos nós filhos para um objeto de dados de nó.
- nodedata
Retorna: a lista de chaves- filhos, uma IEnumerável de
public NodeType FindNodeByKey(NodeKey key)
result = graphLinksModel.FindNodeByKey(key)
Dado uma chave, encontrar os dados do nó com essa chave.
- key
- um valor nulo para este argumento resultará no valor padrão para
Retorna: a ; o valor será o padrão para o tipo se não houver tais dados de nó conhecidos por estar neste modelo
protected virtual NodeKey FindToNodeKeyForLink(LinkType linkdata)
result = graphLinksModel.FindToNodeKeyForLink(linkdata)
Encontre a tecla de nó "para" para um dado link.
- linkdata
Retorna: a para o nó conectado
protected virtual PortKey FindToParameterForLink(LinkType linkdata)
result = graphLinksModel.FindToParameterForLink(linkdata)
Encontre informações adicionais sobre a conexão de nó "para" para um dado link.
- linkdata
Retorna: a
public string GetCategoryForLink(LinkType linkdata)
result = graphLinksModel.GetCategoryForLink(linkdata)
Este método obtém a categoria de um link.
- linkdata
Retorna: uma string, predefinida para a string vazia
public string GetCategoryForNode(NodeType nodedata)
result = graphLinksModel.GetCategoryForNode(nodedata)
Este método obtém a categoria de um nó.
- nodedata
Retorna: uma string, predefinida para a string vazia
public IEnumerable<NodeType> GetConnectedNodesForNode(NodeType nodedata, Predicate<PortKey> portpred)
result = graphLinksModel.GetConnectedNodesForNode(nodedata, portpred)
Retornar uma sequência de dados de nó que estão diretamente conectados a um dado nó, em qualquer direção.
- nodedata
- portpred
- um predicado a ser aplicado a cada parâmetro de porta; se não-null, este predicado deve ser verdadeiro para o nó ser incluído na sequência de retorno
Retorna: um IEnumerável
public IEnumerable<NodeType> GetConnectedNodesForNode(NodeType nodedata)
result = graphLinksModel.GetConnectedNodesForNode(nodedata)
Retornar uma sequência de dados de nó que estão diretamente conectados a um dado nó, em qualquer direção.
- nodedata
Retorna: um IEnumerável
public IEnumerable<LinkType> GetFromLinksForNode(NodeType nodedata)
result = graphLinksModel.GetFromLinksForNode(nodedata)
Retorna uma sequência de dados de link que são conectados em um dado nó de dados, apenas indo para o nó dado.
- nodedata
Retorna: um IEnumerável
public NodeType GetFromNodeForLink(LinkType linkdata)
result = graphLinksModel.GetFromNodeForLink(linkdata)
Retorna os dados do nó "de" em que um dado de link está conectado.
- linkdata
Retorna: um dado de nó
public IEnumerable<NodeType> GetFromNodesForNode(NodeType nodedata)
result = graphLinksModel.GetFromNodesForNode(nodedata)
Retornar uma sequência de dados de nó que são diretamente conectados por links que vão para um dado nó.
- nodedata
Retorna: um IEnumerável
public IEnumerable<NodeType> GetFromNodesForNode(NodeType nodedata, Predicate<PortKey> toportpred)
result = graphLinksModel.GetFromNodesForNode(nodedata, toportpred)
Retornar uma sequência de dados de nó que são diretamente conectados por links que vão para um dado nó.
- nodedata
- toportpred
- um predicado a ser aplicado a cada parâmetro de porta "para"; se não for null, este predicado deve ser verdadeiro para que o nó "de" seja incluído na sequência de retorno
Retorna: um IEnumerável
public PortKey GetFromParameterForLink(LinkType linkdata)
result = graphLinksModel.GetFromParameterForLink(linkdata)
Devolver informações adicionais de "porta" para o fim "de" de um link de dados.
- linkdata
public NodeType GetGroupForLink(LinkType linkdata)
result = graphLinksModel.GetGroupForLink(linkdata)
Devolver os dados de um nó de contentor para um dado dado dado dado link, se o link pertence a um grupo.
- linkdata
Retorna: um dado de nó
public NodeType GetGroupForNode(NodeType nodedata)
result = graphLinksModel.GetGroupForNode(nodedata)
Devolve os dados do nó do grupo de contentores para um dado nó, se existir um.
- nodedata
Retorna: um dado de nó
public bool GetHasLabeledLinkForNode(NodeType nodedata)
result = graphLinksModel.GetHasLabeledLinkForNode(nodedata)
Este predicado é verdadeiro para dados de nó se estiver associado a um link como seu "label".
- nodedata
public bool GetHasLabelNodeForLink(LinkType linkdata)
result = graphLinksModel.GetHasLabelNodeForLink(linkdata)
Este predicado é verdadeiro se os dados do link fornecido tiverem um nó "label".
- linkdata
public bool GetIsGroupForNode(NodeType nodedata)
result = graphLinksModel.GetIsGroupForNode(nodedata)
Este predicado é verdadeiro se um dado dado nó pode ser um grupo (i.e. um recipiente) de outros nós.
- nodedata
public bool GetIsLinkLabelForNode(NodeType nodedata)
result = graphLinksModel.GetIsLinkLabelForNode(nodedata)
Este predicado é verdadeiro se os dados do nó fornecido podem ser usados como um "label" para um link.
- nodedata
public LinkType GetLabeledLinkForNode(NodeType nodedata)
result = graphLinksModel.GetLabeledLinkForNode(nodedata)
Obtenha os dados de link que se referem a um dado nó como seu "label".
- nodedata
Retorna: um dado de ligação
public NodeType GetLabelNodeForLink(LinkType linkdata)
result = graphLinksModel.GetLabelNodeForLink(linkdata)
Obtenha os dados do nó "label" para um link, se houver.
- linkdata
Retorna: um dado de nó
public IEnumerable<LinkType> GetLinksBetweenNodes(NodeType fromdata, PortKey fromparam, NodeType todata, PortKey toparam)
result = graphLinksModel.GetLinksBetweenNodes(fromdata, fromparam, todata, toparam)
Retornar uma sequência de todos os dados de link que vão de um nó para outro, possivelmente restritos a certos "portos".
- fromdata
- uma tecla de nó que identifica os dados do nó de onde vem o link
- fromparam
- um valor opcional que identifica em qual porta no nó "de" o link está conectado
- todata
- uma chave de nó identifica os dados do nó para os quais o link vai
- toparam
- um valor opcional que identifica em qual porta no nó "para" o link está conectado
Retorna: um IEnumerável
public IEnumerable<LinkType> GetLinksForNode(NodeType nodedata)
result = graphLinksModel.GetLinksForNode(nodedata)
Retornar uma sequência de dados de link que são conectados em um dado nó dados, em qualquer direção.
- nodedata
Retorna: um IEnumerável
public IEnumerable<LinkType> GetLinksForNode(NodeType nodedata, Predicate<LinkType> predicate)
result = graphLinksModel.GetLinksForNode(nodedata, predicate)
Retornar uma sequência de dados de link que são conectados em um dado nó dados, em qualquer direção, que satisfazem um determinado predicado.
- nodedata
- predicate
- um delegado que toma um como argumento e retorna um booleano
Retorna: um IEnumerável
public IEnumerable<LinkType> GetMemberLinksForGroup(NodeType nodedata)
result = graphLinksModel.GetMemberLinksForGroup(nodedata)
Retorna uma sequência de dados de link que estão contidos por um dado nó.
- nodedata
Retorna: um IEnumerable de dados de link de membro; uma sequência vazia se não houver links de membro
public IEnumerable<NodeType> GetMemberNodesForGroup(NodeType nodedata)
result = graphLinksModel.GetMemberNodesForGroup(nodedata)
Retornar uma sequência de dados de nó que são membros imediatos de um dado dado nó.
- nodedata
Retorna: um IEnumerável de dados de nó de membro; uma sequência vazia se não existirem membros
public Type GetNodeType()
result = graphLinksModel.GetNodeType()
Devolve-me o .
Retorna: um Tipo, não um objeto de dados de nó, nem uma string
public IEnumerable<LinkType> GetToLinksForNode(NodeType nodedata)
result = graphLinksModel.GetToLinksForNode(nodedata)
Retornar uma sequência de dados de link que são conectados em um dado nó dados, apenas saindo do nó dado.
- nodedata
Retorna: um IEnumerável
public NodeType GetToNodeForLink(LinkType linkdata)
result = graphLinksModel.GetToNodeForLink(linkdata)
Retorna os dados "para" do nó nos quais um dado de link está conectado.
- linkdata
Retorna: um dado de nó
public IEnumerable<NodeType> GetToNodesForNode(NodeType nodedata, Predicate<PortKey> fromportpred)
result = graphLinksModel.GetToNodesForNode(nodedata, fromportpred)
Retorna uma sequência de dados de nó que estão diretamente conectados por links que saem de um dado nó.
- nodedata
- fromportpred
- um predicado a ser aplicado a cada parâmetro de porto "de"; se não-null, este predicado deve ser verdadeiro para o nó "to" a ser incluído na sequência de retorno
Retorna: um IEnumerável
public IEnumerable<NodeType> GetToNodesForNode(NodeType nodedata)
result = graphLinksModel.GetToNodesForNode(nodedata)
Retorna uma sequência de dados de nó que estão diretamente conectados por links que saem de um dado nó.
- nodedata
Retorna: um IEnumerável
public PortKey GetToParameterForLink(LinkType linkdata)
result = graphLinksModel.GetToParameterForLink(linkdata)
Devolver informações adicionais de "porta" para o fim "para" de um link de dados.
- linkdata
protected virtual void HandleLinkPropertyChanged(object sender, PropertyChangedEventArgs e)
graphLinksModel.HandleLinkPropertyChanged(sender, e)
Este é o manipulador de eventos INotifyPropertyChanged para dados de link.
- sender
- e
- de preferência um ModelChangedEventArgs que descreve o que mudou e como
protected virtual void HandleNodePropertyChanged(object sender, PropertyChangedEventArgs e)
graphLinksModel.HandleNodePropertyChanged(sender, e)
Este é o manipulador de eventos INotifyPropertyChangedpara dados de nó.
- sender
- e
- de preferência um ModelChangedEventArgs que descreve o que mudou e como
protected virtual LinkType InsertLink(NodeType fromdata, PortKey fromparam, NodeType todata, PortKey toparam)
result = graphLinksModel.InsertLink(fromdata, fromparam, todata, toparam)
Este método implementa a criação e adição de um link de dados para a coleção LinksSource.
- fromdata
- uma tecla de nó que identifica os dados do nó de onde vem o link
- fromparam
- um valor opcional que identifica em qual porta no nó "de" o link está conectado
- todata
- uma chave de nó identifica os dados do nó para os quais o link vai
- toparam
- um valor opcional que identifica em qual porta no nó "para" o link está conectado
protected virtual void InsertLink(LinkType linkdata)
graphLinksModel.InsertLink(linkdata)
Este método implementa a adição de um link de dados para a coleção LinksSource.
- linkdata
protected virtual void InsertMemberNodeKey(NodeType nodedata, NodeKey memberkey)
graphLinksModel.InsertMemberNodeKey(nodedata, memberkey)
Este método implementa a modificação de um nó de dados de modo que é a coleta de dados de nó membro inclui um dado .
- nodedata
- os dados do nó a serem modificados; se null, este método não faz nada
- memberkey
- o valor chave dos novos dados do nó "member"; se null, este método não faz nada
protected virtual void InsertNode(NodeType nodedata)
graphLinksModel.InsertNode(nodedata)
Este método implementa a adição de dados de nó à coleção NodesSource.
- nodedata
protected virtual bool IsEqualPortParameters(PortKey a, PortKey b)
result = graphLinksModel.IsEqualPortParameters(a, b)
Este predicado compara dois valores e retorna true se eles são "iguais".
- a
- b
Retorna: Normalmente isto usa o padrão EqualityComparer para o tipo. Mas você pode precisar substituir este método se esse tipo de comparação de igualdade for inadequado para as informações do seu porto.
public bool IsLinkData(LinkType linkdata)
result = graphLinksModel.IsLinkData(linkdata)
Este predicado é verdadeiro se o argumento é um link de dados neste modelo.
- linkdata
- o objeto a ser verificado para ver se são dados conhecidos de links neste modelo
Retorna: verdadeiro se o estiver no LinksSource
public bool IsLinked(NodeType fromdata, PortKey fromparam, NodeType todata, PortKey toparam)
result = graphLinksModel.IsLinked(fromdata, fromparam, todata, toparam)
Este predicado é verdadeiro se houver um link de um nó dados/porta para outro.
- fromdata
- uma tecla de nó que identifica os dados do nó de onde vem o link
- fromparam
- um valor opcional que identifica em qual porta no nó "de" o link está conectado
- todata
- uma chave de nó identifica os dados do nó para os quais o link vai
- toparam
- um valor opcional que identifica em qual porta no nó "para" o link está conectado
public bool IsLinkType(object linkdata)
result = graphLinksModel.IsLinkType(linkdata)
Devolve-me o .
Retorna: um Tipo, não um objeto de dados de ligação, nem uma string
public bool IsLinkValid(NodeType fromdata, PortKey fromparam, NodeType todata, PortKey toparam)
result = graphLinksModel.IsLinkValid(fromdata, fromparam, todata, toparam)
Este predicado é verdadeiro se adicionar um link entre dois nós/portos resultaria em um gráfico válido.
- fromdata
- uma tecla de nó que identifica os dados do nó de onde vem o link
- fromparam
- um valor opcional que identifica em qual porta no nó "de" o link está conectado
- todata
- uma chave de nó identifica os dados do nó para os quais o link vai
- toparam
- um valor opcional que identifica em qual porta no nó "para" o link está conectado
public bool IsMember(NodeType groupnodedata, NodeType membernodedata)
result = graphLinksModel.IsMember(groupnodedata, membernodedata)
Este predicado é verdadeiro se o é um membro do grupo de contêiner.
- groupnodedata
- membernodedata
public bool IsMemberValid(NodeType groupnodedata, NodeType membernodedata, bool ignoreexistingmembership)
result = graphLinksModel.IsMemberValid(groupnodedata, membernodedata, ignoreexistingmembership)
Este predicado é verdadeiro se adicionar a um nó de grupo () resultaria em um gráfico inválido.
- groupnodedata
- os dados do nó que são um grupo
- membernodedata
- um dado de nó
- ignoreexistingmembership
- se ignorar a associação existente do grupo, porque esse membro está a ser transferido para fora do seu grupo existente
public bool IsNodeData(NodeType nodedata)
result = graphLinksModel.IsNodeData(nodedata)
Este predicado é verdadeiro se o argumento é um nó de dados neste modelo.
- nodedata
- o objeto a ser verificado para ver se são dados de nó conhecidos neste modelo
Retorna: verdadeiro se o estiver no NodesSource
public bool IsNodeType(object nodedata)
result = graphLinksModel.IsNodeType(nodedata)
Este predicado é verdadeiro quando o argumento é uma instância de .
- nodedata
- o objeto arbitrário a ser verificado para que a compatibilidade seja um dado de nó
Retorna: verdadeiro se o pode ser lançado ao ; falso caso contrário
public bool IsRelinkValid(NodeType fromdata, PortKey fromparam, NodeType todata, PortKey toparam, LinkType oldlinkdata)
result = graphLinksModel.IsRelinkValid(fromdata, fromparam, todata, toparam, oldlinkdata)
Este predicado é verdadeiro se substituir um link entre dois nós/portos resultaria em um gráfico válido.
- fromdata
- uma tecla de nó que identifica os dados do nó de onde vem o link
- fromparam
- um valor opcional que identifica em qual porta no nó "de" o link está conectado
- todata
- uma chave de nó identifica os dados do nó para os quais o link vai
- toparam
- um valor opcional que identifica em qual porta no nó "para" o link está conectado
- oldlinkdata
- os dados originais da ligação que possam ser modificados
public void Load<NodeDataType, LinkDataType>(XContainer root, XName nodename, XName linkname)
graphLinksModel.Load(root, nodename, linkname)
Dado um Linq para XML XContainer segurando nó e dados de link, substitua este modelo NodesSource e LinksSource coleções com coleções de novos dados de nó e novos dados de link.
- root
- o XContainer que detém todos os dados
- nodename
- o nome de cada nó de retenção XElement
- linkname
- o nome de cada XElement que contém dados de ligação
public void Load<NodeDataType, LinkDataType>(XContainer root, Func<XElement, NodeDataType> nodedataallocator, Func<XElement, LinkDataType> linkdataallocator)
graphLinksModel.Load(root, nodedataallocator, linkdataallocator)
Dado um Linq para XML XContainer segurando nó e dados de link, substitua este modelo NodesSource e LinksSource coleções com coleções de novos dados de nó e novos dados de link.
- root
- o XContainer que detém todos os dados
- nodedataallocator
- uma função que leva um XElement e retorna um objeto recém-construído de tipo ou nulo se esse XElement for para ser ignorado
- linkdataallocator
- uma função que leva um XElement e retorna um objeto recém-construído de tipo ou nulo se esse XElement for para ser ignorado
protected virtual bool MakeNodeKeyUnique(NodeType nodedata)
result = graphLinksModel.MakeNodeKeyUnique(nodedata)
Este método é chamado quando uma chave duplicada foi encontrada.
- nodedata
Retorna: true to aceita the data as a nodo after made the key unique in the model; false to ignore this data.
protected virtual void ModifyGroupNodeKey(NodeType nodedata, NodeKey groupkey)
graphLinksModel.ModifyGroupNodeKey(nodedata, groupkey)
Este método implementa a modificação de um nó de forma que sua referência a um nó de grupo contendo dados (se houver) é o dado .
- nodedata
- os dados do nó a modificar
- groupkey
- o valor chave dos dados do nó "grupo"
protected virtual void ModifyLinkFromPort(LinkType linkdata, NodeKey nodekey, PortKey portparam)
graphLinksModel.ModifyLinkFromPort(linkdata, nodekey, portparam)
Este método implementa a modificação de um link para alterar a referência aos dados do nó "de" e as informações do porto "de" do link.
- linkdata
- os dados de ligação a modificar
- nodekey
- os novos dados do nó
- portparam
protected virtual void ModifyLinkLabelKey(LinkType linkdata, NodeKey linklabelkey)
graphLinksModel.ModifyLinkLabelKey(linkdata, linklabelkey)
Este método implementa a modificação de um link para alterar a referência aos dados do nó "label".
- linkdata
- os dados de ligação a modificar
- linklabelkey
- os dados do novo rótulo
protected virtual void ModifyLinkToPort(LinkType linkdata, NodeKey nodekey, PortKey portparam)
graphLinksModel.ModifyLinkToPort(linkdata, nodekey, portparam)
Este método implementa a modificação de um link para alterar a referência aos dados do nó "para" e as informações do porto "para" do link.
- linkdata
- os dados de ligação a modificar
- nodekey
- os novos dados do nó
- portparam
protected virtual void ModifyMemberNodeKeys(NodeType nodedata, IEnumerable membernodekeys)
graphLinksModel.ModifyMemberNodeKeys(nodedata, membernodekeys)
Este método implementa a substituição da coleção de dados de um nó de grupo de chaves de nó de membro.
- nodedata
- os dados do nó a modificar
- membernodekeys
- uma sequência de valores chave de dados de nó "membro"
public void RemoveLink(NodeType fromdata, PortKey fromparam, NodeType todata, PortKey toparam)
graphLinksModel.RemoveLink(fromdata, fromparam, todata, toparam)
Remova todos os dados de link de LinksSource que conectam os dois nós/portos.
- fromdata
- uma tecla de nó que identifica os dados do nó de onde vem o link
- fromparam
- um valor opcional que identifica em qual porta no nó "de" o link está conectado
- todata
- uma chave de nó identifica os dados do nó para os quais o link vai
- toparam
- um valor opcional que identifica em qual porta no nó "para" o link está conectado
public void RemoveLink(LinkType linkdata)
graphLinksModel.RemoveLink(linkdata)
Remova os dados de uma ligação de LinksSource.
- linkdata
public void RemoveMemberNodeKey(NodeType nodedata, NodeKey memberkey)
graphLinksModel.RemoveMemberNodeKey(nodedata, memberkey)
Remova o valor chave de um nó filho da lista de dados de um nó de grupo dos valores de chave "membro".
- nodedata
- os dados do nó a modificar
- memberkey
- o valor chave dos dados do nó "membro"
public void RemoveNode(NodeType nodedata)
graphLinksModel.RemoveNode(nodedata)
Remova um dado de nó de NodesSource.
- nodedata
public void ResolveAllReferences()
graphLinksModel.ResolveAllReferences()
Causa ResolveNodeKey (para ser chamado em cada referência conhecida de nó atrasado ou avançado.
protected virtual void ResolveNodeKey(NodeKey nodekey)
graphLinksModel.ResolveNodeKey(nodekey)
Isto é chamado repetidamente por ResolveAllReferences, uma vez para cada referência conhecida de nó atrasado ou avançado.
- nodekey
public XElement Save<NodeDataType, LinkDataType>(XName rootname, XName nodename, XName linkname)
result = graphLinksModel.Save(rootname, nodename, linkname)
Gere um Linq para XML XElement segurando todos os dados do nó e link.
- rootname
- o nome do XElement retornado
- nodename
- o nome de cada nó de retenção XElement
- linkname
- o nome de cada XElement que contém dados de ligação
Retorna: um XElement
public void SetGroupNodeKey(NodeType nodedata, NodeKey groupkey)
graphLinksModel.SetGroupNodeKey(nodedata, groupkey)
Mude os dados de um nó para que se refira a um grupo de dados de um nó de recipiente diferente, por chave de nó.
- nodedata
- os dados do nó a modificar
- groupkey
- o valor chave dos novos dados do nó "grupo"
public void SetLinkFromPort(LinkType linkdata, NodeKey nodekey, PortKey portparam)
graphLinksModel.SetLinkFromPort(linkdata, nodekey, portparam)
Mude um link de dados para que se refira a um nó diferente de dados e informações de porta associadas.
- linkdata
- os dados de ligação a modificar
- nodekey
- os novos dados do nó
- portparam
public void SetLinkLabelKey(LinkType linkdata, NodeKey linklabelkey)
graphLinksModel.SetLinkLabelKey(linkdata, linklabelkey)
Mude um dado de link para que se refira a um dado diferente de nó "label".
- linkdata
- os dados de ligação a modificar
- linklabelkey
- os dados do novo rótulo
public void SetLinkToPort(LinkType linkdata, NodeKey nodekey, PortKey portparam)
graphLinksModel.SetLinkToPort(linkdata, nodekey, portparam)
Mude um link de dados para que se refira a um nó diferente de dados e informações de porta associadas.
- linkdata
- os dados de ligação a modificar
- nodekey
- os novos dados do nó
- portparam
public void SetMemberNodeKeys(NodeType nodedata, IEnumerable membernodekeys)
graphLinksModel.SetMemberNodeKeys(nodedata, membernodekeys)
Substituir a lista de dados de um nó de valores de chave "member".
- nodedata
- os dados do nó a modificar
- membernodekeys
- uma sequência de valores chave de dados de nó "membro"